package main

import "fmt"

//go中的下划线，表示废弃 ：_
//定义了的变量必须使用

//这不是全局变量，而是在这个包package里面的变量
var aa = 4
var bb = 5
var cc = 6

var (
	aaa = 3
	bbb = 4
	ccc = 5
)

func varuakbeZeriValue() {

	//go中zeroValue的情况下，a=0,s是空字符串，不是null
	var a int
	var s string
	//Println,直接使用变量名，
	fmt.Println(a, s)

	//Printf类似C，需要%d之类的
	//%q的情况可以打印出“”
	fmt.Printf("%d %q\n", a, s)
}

func variableInitValue() {
	var a, b int = 3, 4
	var s string = "abc"
	fmt.Println(a, b, s)
}

//go能识别类型，可以不声明变量类型
func varialbeShorter() {
	a, b, c, s := 3, 4, true, "def"
	b = 5
	fmt.Println(a, b, c, s)
}

func main() {
	fmt.Println("Hello World")
	varuakbeZeriValue()
	variableInitValue()
	varialbeShorter()
	fmt.Println(aa, bb, cc)
	fmt.Println(aaa, bbb, ccc)
}
